package cn.iocoder.yudao.module.wms.controller.admin.customer.vo;

import cn.iocoder.yudao.module.wms.dal.dataobject.inventoryclassify.InventoryClassifyDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.VO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Schema(description = "管理后台 - 客户档案 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CustomerRespVO implements VO {
    @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7154")
    private Long id;

    @Schema(description = "客户编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("客户编码")
    private String code;

    @Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("客户名称")
    private String name;

    @Schema(description = "客户地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("客户地址")
    private String address;

    @Schema(description = "客户分类id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31427")
    @Trans(type = TransType.SIMPLE, target = InventoryClassifyDO.class, fields = "name", ref = "classifyName")
    private Long classifyId;

    @Schema(description = "客户分类名称")
    @ExcelProperty("客户分类")
    private String classifyName;

}